Who Writes What Checkers? - Learning from Bug Repositories
نویسندگان
چکیده
Static code checkers have been useful for finding bugs in large-scale C code. Domain-specific checkers are particularly effective in finding deep/subtle bugs because they can make use of domain-specific knowledge. To develop domain-specific checkers, however, typical bug patterns in certain domains must first be extracted. This paper explores the use of machine learning to help extract bug patterns from bug repositories. We used natural language processing to analyze over 370,000 bug descriptions of Linux and classified them into 66 clusters. Our preliminary work with this approach is encouraging: by investigating one of the 66 clusters, we were able to identify typical bug patterns in PCI device drivers and developed static code checkers to find them. When applied to the latest version of Linux, the developed checkers found two unknown bugs.
منابع مشابه
On Mining Concurrency Defect-Related Reports from Bug Repositories
We present early findings of two ongoing case studies in which we automatically extract reports about concurrency defects from the MySQL and Apache bug repositories. To mine the unstructured reports, we apply keyword search and machine learning, using linear and non-linear classifiers. We analyze the results in detail and suggest some improvements for this mining task. Automated Bug Report Clas...
متن کاملRank-Me: A Java Tool for Ranking Team Members in Software Bug Repositories
In this paper a team member ranking technique is presented for software bug repositories. Member ranking is performed using numbers of attributes available in software bug repositories, and a ranked list of developers is generated who are participating in development of software project. This ranking is generated from the contribution made by the individual developers in terms of bugs fixed, se...
متن کاملmoreBugs: A New Dataset for Benchmarking Algorithms for Information Retrieval from Software Repositories
This report presents moreBugs, a new publicly available dataset derived from the AspectJ and JodaTime repositories for the benchmarking of algorithms for retrieval from software repositories. As a case in point, moreBugs contains all the information required to evaluate a search-based bug localization framework — it includes a set of closed/resolved bugs mined from the bug-tracking system, and,...
متن کاملReachability checking in complex and concurrent software systems using intelligent search methods
Software system verification is an efficient technique for ensuring the correctness of a software product, especially in safety-critical systems in which a small bug may have disastrous consequences. The goal of software verification is to ensure that the product fulfills the requirements. Studies show that the cost of finding and fixing errors in design time is less than finding and fixing the...
متن کاملAn Open Source Multi Agent System for Data Preprocessing of Online Software Bug Repositories
Software bug repositories contain lot of useful information related to software development, software design and software’s common error patterns. Most of the projects use bug tracking system to manage the bugs associated with the software. These bug tracking system works as an online bug repositories, which can be accessed by all of the project members situated at different locations. Research...
متن کامل